const express = require("express");
const route = express.Router();

//引入权限校验中间件
const isLoginMiddle = require("../middleware/isLoginMiddle")

//引入数据库
const advModel = require("../db/model/advModel")

const path  = require("path")
const formidable = require("formidable")

//主要是为了书写一个接口,使用我们封装好的权限验证中间件
route.put("/updateAdv", isLoginMiddle, async (req, res) => {
   const {
    _id
   } = req.query

   
//    console.log(req.query);

//    console.log( _id);

   const form = formidable({
    uploadDir: path.resolve(__dirname, "../upload"),
    keepExtensions: true
  })

    form.parse(req, async (err, params, file) => {
        console.log("params", params);
        //从params中拿到前台传递的数据
        const {
            advTitle,
            advType,
            advOrder
        } = params;
        // console.log("后台file",file);
        // console.log(file.advPic.newFilename);

        //向数据库添加数据
        try {
            await advModel.updateOne({
                _id
            },{
              $set:{
                advTitle,
                advType,
                advOrder,
                advHref: "/upload/" + file.advPic.newFilename,
                updateTime: new Date().toLocaleString()
        }})

            return res.send({
                code: 10000,
                msg: "更新广告成功",
                data: null
            })
        } catch (e) {
            console.log("更新广告数据库操作出现异常" + e.message);
            return res.send({
                code: 10001,
                msg: "更新广告数据库操作出现异常" + e.message,
                data: null
            })
        }

    })

})

module.exports = route;